StartCodegenJob
Starts a code generation job for a specified Amplify app and backend environment.
Request Syntax
POST /app/appId/environment/environmentName/codegen-jobs?clientToken=clientToken HTTP/1.1
Content-type: application/json
{
   "autoGenerateForms": boolean,
   "features": { 
      "isNonModelSupported": boolean,
      "isRelationshipSupported": boolean
   },
   "genericDataSchema": { 
      "dataSourceType": "string",
      "enums": { 
         "string" : { 
            "values": [ "string" ]
         }
      },
      "models": { 
         "string" : { 
            "fields": { 
               "string" : { 
                  "dataType": "string",
                  "dataTypeValue": "string",
                  "isArray": boolean,
                  "readOnly": boolean,
                  "relationship": { 
                     "associatedFields": [ "string" ],
                     "belongsToFieldOnRelatedModel": "string",
                     "canUnlinkAssociatedModel": boolean,
                     "isHasManyIndex": boolean,
                     "relatedJoinFieldName": "string",
                     "relatedJoinTableName": "string",
                     "relatedModelFields": [ "string" ],
                     "relatedModelName": "string",
                     "type": "string"
                  },
                  "required": boolean
               }
            },
            "isJoinTable": boolean,
            "primaryKeys": [ "string" ]
         }
      },
      "nonModels": { 
         "string" : { 
            "fields": { 
               "string" : { 
                  "dataType": "string",
                  "dataTypeValue": "string",
                  "isArray": boolean,
                  "readOnly": boolean,
                  "relationship": { 
                     "associatedFields": [ "string" ],
                     "belongsToFieldOnRelatedModel": "string",
                     "canUnlinkAssociatedModel": boolean,
                     "isHasManyIndex": boolean,
                     "relatedJoinFieldName": "string",
                     "relatedJoinTableName": "string",
                     "relatedModelFields": [ "string" ],
                     "relatedModelName": "string",
                     "type": "string"
                  },
                  "required": boolean
               }
            }
         }
      }
   },
   "renderConfig": { ... },
   "tags": { 
      "string" : "string" 
   }
}URI Request Parameters
The request uses the following URI parameters.
- appId
- 
               The unique ID for the Amplify app. Length Constraints: Minimum length of 1. Maximum length of 20. Pattern: d[a-z0-9]+Required: Yes 
- clientToken
- 
               The idempotency token used to ensure that the code generation job request completes only once. 
- environmentName
- 
               The name of the backend environment that is a part of the Amplify app. Required: Yes 
Request Body
The request accepts the following data in JSON format.
- autoGenerateForms
- 
               Specifies whether to autogenerate forms in the code generation job. Type: Boolean Required: No 
- features
- 
               The feature flags for a code generation job. Type: CodegenFeatureFlags object Required: No 
- genericDataSchema
- 
               The data schema to use for a code generation job. Type: CodegenJobGenericDataSchema object Required: No 
- renderConfig
- 
               The code generation configuration for the codegen job. Type: CodegenJobRenderConfig object Note: This object is a Union. Only one member of this object can be specified or returned. Required: Yes 
- 
               One or more key-value pairs to use when tagging the code generation job data. Type: String to string map Key Length Constraints: Minimum length of 1. Maximum length of 128. Key Pattern: (?!aws:)[a-zA-Z+-=._:/]+Value Length Constraints: Minimum length of 1. Maximum length of 256. Required: No 
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
   "appId": "string",
   "asset": { 
      "downloadUrl": "string"
   },
   "autoGenerateForms": boolean,
   "createdAt": "string",
   "dependencies": [ 
      { 
         "isSemVer": boolean,
         "name": "string",
         "reason": "string",
         "supportedVersion": "string"
      }
   ],
   "environmentName": "string",
   "features": { 
      "isNonModelSupported": boolean,
      "isRelationshipSupported": boolean
   },
   "genericDataSchema": { 
      "dataSourceType": "string",
      "enums": { 
         "string" : { 
            "values": [ "string" ]
         }
      },
      "models": { 
         "string" : { 
            "fields": { 
               "string" : { 
                  "dataType": "string",
                  "dataTypeValue": "string",
                  "isArray": boolean,
                  "readOnly": boolean,
                  "relationship": { 
                     "associatedFields": [ "string" ],
                     "belongsToFieldOnRelatedModel": "string",
                     "canUnlinkAssociatedModel": boolean,
                     "isHasManyIndex": boolean,
                     "relatedJoinFieldName": "string",
                     "relatedJoinTableName": "string",
                     "relatedModelFields": [ "string" ],
                     "relatedModelName": "string",
                     "type": "string"
                  },
                  "required": boolean
               }
            },
            "isJoinTable": boolean,
            "primaryKeys": [ "string" ]
         }
      },
      "nonModels": { 
         "string" : { 
            "fields": { 
               "string" : { 
                  "dataType": "string",
                  "dataTypeValue": "string",
                  "isArray": boolean,
                  "readOnly": boolean,
                  "relationship": { 
                     "associatedFields": [ "string" ],
                     "belongsToFieldOnRelatedModel": "string",
                     "canUnlinkAssociatedModel": boolean,
                     "isHasManyIndex": boolean,
                     "relatedJoinFieldName": "string",
                     "relatedJoinTableName": "string",
                     "relatedModelFields": [ "string" ],
                     "relatedModelName": "string",
                     "type": "string"
                  },
                  "required": boolean
               }
            }
         }
      }
   },
   "id": "string",
   "modifiedAt": "string",
   "renderConfig": { ... },
   "status": "string",
   "statusMessage": "string",
   "tags": { 
      "string" : "string" 
   }
}Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- appId
- 
               The ID of the Amplify app associated with the code generation job. Type: String Length Constraints: Minimum length of 1. Maximum length of 20. Pattern: d[a-z0-9]+
- asset
- 
               The CodegenJobAssetto use for the code generation job.Type: CodegenJobAsset object 
- autoGenerateForms
- 
               Specifies whether to autogenerate forms in the code generation job. Type: Boolean 
- createdAt
- 
               The time that the code generation job was created. Type: Timestamp 
- dependencies
- 
               Lists the dependency packages that may be required for the project code to run. Type: Array of CodegenDependency objects 
- environmentName
- 
               The name of the backend environment associated with the code generation job. Type: String 
- features
- 
               Describes the feature flags that you can specify for a code generation job. Type: CodegenFeatureFlags object 
- genericDataSchema
- 
               Describes the data schema for a code generation job. Type: CodegenJobGenericDataSchema object 
- id
- 
               The unique ID for the code generation job. Type: String 
- modifiedAt
- 
               The time that the code generation job was modified. Type: Timestamp 
- renderConfig
- 
               Describes the configuration information for rendering the UI component associated with the code generation job. Type: CodegenJobRenderConfig object Note: This object is a Union. Only one member of this object can be specified or returned. 
- status
- 
               The status of the code generation job. Type: String Valid Values: in_progress | failed | succeeded
- statusMessage
- 
               The customized status message for the code generation job. Type: String 
- 
               One or more key-value pairs to use when tagging the code generation job. Type: String to string map Key Length Constraints: Minimum length of 1. Maximum length of 128. Key Pattern: (?!aws:)[a-zA-Z+-=._:/]+Value Length Constraints: Minimum length of 1. Maximum length of 256. 
Errors
For information about the errors that are common to all actions, see Common Errors.
- InternalServerException
- 
               An internal error has occurred. Please retry your request. HTTP Status Code: 500 
- InvalidParameterException
- 
               An invalid or out-of-range value was supplied for the input parameter. HTTP Status Code: 400 
- ThrottlingException
- 
               The request was denied due to request throttling. HTTP Status Code: 429 
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: