API Gateway APIs
The Boomi API Gateway GraphQL APIs expose many GraphQL queries and mutations to retrieve and update data.
While using GraphQL APIs, include sensitive data in the parameters instead of inline in the query. You can send GraphQL requests by POST with JSON content or through GET with an HTTP query string. Use the POST method for any requests that contain sensitive data.
Rate limiting
The GraphQL APIs include rate limiting to guard against large spikes of incoming requests and to improve share access equally across all incoming requests. Rate limiting is applied to the number of your requests running on each platform instance. Your requests can all go to the same runtime instance or distributed across instances.
If you send a large number of requests in succession, you might see a status code 429 as your error response to the request. This status code means that you sent too many requests. Allow your requests to clear out before you resubmit the requests.
Supported categories
The following table lists each supported GraphQL queries and mutations. See the specific object topics to get detailed information about the properties of the various objects, how to make API calls for each supported operation.
| Category | QUERY | MUTATION |
|---|---|---|
| Authentication Source | ✅ Supported | ✅ Supported |
| Broker Basic Authentication Migration | x Not supported | ✅ Supported |
| Deployed API Application | ✅ Supported | ✅ Supported |
| Deployed API | ✅ Supported | ✅ Supported |
| Deployed API Plan | ✅ Supported | ✅ Supported |
| Developer Portal Publishing | ✅ Supported | ✅ Supported |
| Environment Migration | ✅ Supported | ✅ Supported |
| Environments | ✅ Supported | ✅ Supported |
| Forward Proxy on Gateway | ✅ Supported | ✅ Supported |
| Gateway | ✅ Supported | ✅ Supported |
| Metrics | ✅ Supported | x Not supported |
| Runtime | ✅ Supported | x Not supported |
Error handling
If you send an invalid GraphQL request or it cannot process the request, it returns a standard GraphQL errors array with details about what went wrong. The error object contains a message that indicates those details. The extensions object contains an errorCode property that can help programmatically respond to errors. That error code is one of the enums defined in the GraphQL spec or one of the following:
SYSTEM_ERROR
TEMPORARY_ERROR
DEFAULT_FOR_NON_NULL_ARGUMENT
WRONG_TYPE
UNKNOWN_TYPE
SUB_SELECTION_REQUIRED
SUB_SELECTION_NOT_ALLOWED
INVALID_SYNTAX
BAD_VALUE_FOR_DEFAULT_ARG
FIELD_UNDEFINED
INLINE_FRAGMENT_TYPE_CONDITION_INVALID
FRAGMENT_TYPE_CONDITION_INVALID
UNKNOWN_ARGUMENT
UNDEFINED_FRAGMENT
NON_INPUT_TYPE_ON_VARIABLE
UNUSED_FRAGMENT
MISSING_FIELD_ARGUMENT
MISSING_DIRECTIVE_ARGUMENT
VARIABLE_TYPE_MISMATCH
UNKNOWN_DIRECTIVE
MISPLACED_DIRECTIVE
UNDEFINED_VARIABLE
UNUSED_VARIABLE
FRAGMENT_CYCLE
FIELDS_CONFLICT
INVALID_FRAGMENT_TYPE
LONE_ANONYMOUS_OPERATION_VIOLATION
NON_EXECUTABLE_DEFINITION
DUPLICATE_OPERATION_NAME