CreateIntegration
Creates a new integration with an external source provider. Repeating an identical request with the same clientToken returns the original integrationId, integrationArn, and createdAt. Token records are retained for eight hours after success or terminal failure, including after the integration is deleted; replaying a deleted integration's token does not recreate it. An identical request with a retained terminal failure returns the recorded error.
Reusing a token with different parameters returns ValidationException. A fresh token starts a new create attempt; if the name is already owned by another integration, ConflictException includes that integration's identifier. An attempt still in progress may return ThrottlingException with retryAfterSeconds set to 1; retry with the same token and identical parameters.
GitHub authorization codes are single use. Retry an unresolved attempt with its original token and unchanged parameters first. If the service reports a terminal failure, an expired attempt, or a successful token exchange whose integration could not be saved, restart GitHub authorization with a fresh token and authorization code. The service does not checkpoint provider results for recovery by another request.
Request Syntax
POST /integrations HTTP/1.1
Content-type: application/json
{
"clientToken": "string",
"name": "string",
"providerConfiguration": { ... }
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- clientToken
-
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[!-~]+Required: No
- name
-
The name of the resource.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Required: Yes
- providerConfiguration
-
The provider Configuration.
Type: ProviderConfiguration object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: Yes
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"createdAt": "string",
"integrationArn": "string",
"integrationId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in JSON format by the service.
- createdAt
-
The timestamp when the resource was created.
Type: Timestamp
- integrationArn
-
The Amazon Resource Name (ARN) of the integration.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1011.
Pattern:
arn:[a-z0-9-]+:continuum:[a-z0-9-]+:[0-9]{12}:integrations/[a-z0-9]+ - integrationId
-
The identifier of the integration.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-z0-9]+
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
The request is not authorized. Verify that your credentials and request signature are valid and that you have permission to perform this action.
HTTP Status Code: 403
- ConflictException
-
The request could not be completed due to a conflict with the current state of the resource.
HTTP Status Code: 409
- InternalServerException
-
The request couldn't be processed because of an internal server issue. Try again later. If the problem persists, contact AWS Support.
HTTP Status Code: 500
- ServiceQuotaExceededException
-
The request would exceed a service quota. Review your quota and request an increase if needed.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied due to request throttling.
HTTP Status Code: 429
- ValidationException
-
The request failed to satisfy the constraints specified by AWS Continuum. Correct the fields identified in the error and retry the request.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: