openapi: 3.2.0 info: title: Schema Manager Field Definition API version: v1 servers: - url: https://rls.congacloud.com - url: https://preview-rls09.congacloud.com security: - bearerAuth: [] tags: - name: Field Definition paths: /api/schema/v1/objects/formula-functions: get: tags: - Field Definition summary: Get the list of formula functions description: Retrieves the list of formula functions from data storage. responses: '400': description: Bad Request '500': description: Internal Server Error /api/schema/v1/objects/{objectName}/fields: post: tags: - Field Definition summary: Create a field definition for an object description: Validates and creates a field inside the specified object. parameters: - name: objectName in: path description: Name of the object in which the field is to be created required: true schema: type: string requestBody: description: Actual field metadata input which needs to be created content: application/json: schema: $ref: '#/components/schemas/FieldMetadataCreateRequest' text/json: schema: $ref: '#/components/schemas/FieldMetadataCreateRequest' application/*+json: schema: $ref: '#/components/schemas/FieldMetadataCreateRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/FieldMetadataAPIResponse' example: Success: true Data: FieldName: AgreementField DisplayName: AgreementField Description: AgreementField desc DataType: String DefaultValue: string IsProtected: false IsIndexField: false IsSortable: true IsRequired: true IsUnique: false IsDeprecated: false IsCalculated: false IsInternalField: false IsAliasField: false Length: 200 LookupObjectName: null LookupFilterCriteria: null DependentPicklistMetadataName: null PicklistName: null ComplexMetadataName: null AutoNumberInitialSeed: 0 AutoNumberPrefix: null Precision: 0 Scale: 0 Expression: null ExpressionDependency: null AliasExpressionDependency: null IsPreComputed: null ReferenceObject: null TargetObject: null TargetField: null RollupFunction: null RollupFilterCriteria: null AliasFieldDefinition: null AliasFieldMetadataName: null IsRichTextField: false IsPropertyLookup: false IdentifierType: null StatusCode: OK '400': description: Bad Request '404': description: Not Found '500': description: Internal Server Error /api/schema/v1/objects/{objectName}/fields/{fieldName}: delete: tags: - Field Definition summary: Delete a custom field definition description: Validates and deletes a custom field from the specified object.
**Note:** The custom field is deleted only if it contains no data in any of the records.
parameters: - name: objectName in: path description: Name of the object from which the field is to be deleted required: true schema: type: string - name: fieldName in: path description: Name of the custom field to be deleted required: true schema: type: string responses: '400': description: Bad Request '500': description: Internal Server Error put: tags: - Field Definition summary: Update an object's field definition description: Validates and updates the field definitions available in the specified object. parameters: - name: objectName in: path description: Name of the object in which the field is to be updated required: true schema: type: string - name: fieldName in: path description: Name of the field to be updated required: true schema: type: string requestBody: description: Metadata update details for the field mentioned in the field name parameter. content: application/json: schema: $ref: '#/components/schemas/FieldMetadataUpdateRequest' text/json: schema: $ref: '#/components/schemas/FieldMetadataUpdateRequest' application/*+json: schema: $ref: '#/components/schemas/FieldMetadataUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/FieldMetadataAPIResponse' example: Success: true Data: FieldName: AgreementField DisplayName: AgreementField Description: AgreementField desc DataType: String DefaultValue: string IsProtected: false IsIndexField: false IsSortable: true IsRequired: true IsUnique: false IsDeprecated: false IsCalculated: false IsInternalField: false IsAliasField: false Length: 200 LookupObjectName: null LookupFilterCriteria: null DependentPicklistMetadataName: null PicklistName: null ComplexMetadataName: null AutoNumberInitialSeed: 0 AutoNumberPrefix: null Precision: 0 Scale: 0 Expression: null ExpressionDependency: null AliasExpressionDependency: null IsPreComputed: null ReferenceObject: null TargetObject: null TargetField: null RollupFunction: null RollupFilterCriteria: null AliasFieldDefinition: null AliasFieldMetadataName: null IsRichTextField: false IsPropertyLookup: false IdentifierType: null StatusCode: OK '400': description: Bad Request '404': description: Not Found '500': description: Internal Server Error /api/schema/v1/objects/{objectName}/fields/{fieldName}/deprecate: patch: tags: - Field Definition summary: Set the field to deprecate description: Validates the field of the given object and sets it to be deprecated. parameters: - name: objectName in: path description: Name of the object from which the field is to be deprecated required: true schema: type: string - name: fieldName in: path description: Name of the field to be deprecated required: true schema: type: string responses: '200': description: Success '400': description: Field name cannot be empty. '404': description: Not Found '500': description: Internal Server Error /api/schema/v1/objects/{objectName}/fields/{fieldName}/expression/validate: post: tags: - Field Definition summary: Validate formula field expression description: Validates the formula field expression of the field of the given object. parameters: - name: objectName in: path description: Name of the object in which the field exists required: true schema: type: string - name: fieldName in: path description: Name of the field required: true schema: type: string requestBody: description: Actual field name, data type, and expression which needs to be validated. content: application/json: schema: $ref: '#/components/schemas/FormulaFieldExpressionValidationRequest' text/json: schema: $ref: '#/components/schemas/FormulaFieldExpressionValidationRequest' application/*+json: schema: $ref: '#/components/schemas/FormulaFieldExpressionValidationRequest' responses: '400': description: Bad Request '500': description: Internal Server Error components: schemas: FormulaFieldExpressionValidationRequest: type: object properties: DataType: $ref: '#/components/schemas/DataType' Expression: type: - string - 'null' description: Describes the expression of the formula field additionalProperties: false description: formulaFieldExpressionValidationRequest FieldMetadataAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: $ref: '#/components/schemas/FieldMetadata' Errors: type: - array - 'null' items: $ref: '#/components/schemas/ErrorDetail' Profile: type: - string - 'null' TotalTime: type: number format: float StatusCode: $ref: '#/components/schemas/HttpStatusCode' HasMoreRecords: type: - boolean - 'null' NextCursor: type: - string - 'null' Warnings: type: - array - 'null' items: $ref: '#/components/schemas/ErrorDetail' additionalProperties: false FieldMetadataUpdateRequest: type: object properties: DisplayName: type: - string - 'null' description: Display name of the field Description: type: - string - 'null' description: Description of the field DefaultValue: type: - string - 'null' description: Default value of the field IsSortable: type: boolean description: Indicates if the field is sortable. IsUnique: type: boolean description: Indicates if the field is unique. Expression: type: - string - 'null' description: Expression of the field Length: type: - integer - 'null' description: Length of the field when the data type is String or LongString. format: int32 TargetField: type: - string - 'null' description: Target field of the field RollupFunction: type: - string - 'null' description: Rollup function of the field RollupFilterCriteria: type: - string - 'null' description: Rollup filter criteria of the field IsRichTextField: type: boolean description: Indicates if the field is RichText. IsRequired: type: boolean description: Indicates if the field is required. Precision: type: - integer - 'null' description: The number of digits when the data type is Decimal, Double, or Currency format: int32 Scale: type: - integer - 'null' description: The number of digits to the right of the decimal point when the data type is Decimal, Double, or Currency format: int32 LookupFilterCriteria: type: - string - 'null' description: Lookup filter criteria for UI AutoNumberPrefix: type: - string - 'null' description: Prefix for AutoNumber fields additionalProperties: false FieldMetadata: type: object properties: FieldName: type: - string - 'null' DisplayName: type: - string - 'null' Description: type: - string - 'null' DataType: $ref: '#/components/schemas/DataType' DefaultValue: type: - string - 'null' IsProtected: type: boolean IsIndexField: type: boolean IsSortable: type: boolean IsRequired: type: boolean IsUnique: type: boolean IsDeprecated: type: boolean IsCalculated: type: boolean IsInternalField: type: boolean IsAliasField: type: boolean ReadAccess: type: - boolean - 'null' WriteAccess: type: - boolean - 'null' Length: type: - integer - 'null' format: int32 LookupObjectName: type: - string - 'null' LookupFilterCriteria: type: - string - 'null' DependentPicklistMetadataName: type: - string - 'null' PicklistName: type: - string - 'null' ComplexMetadataName: type: - string - 'null' AutoNumberInitialSeed: type: integer format: int32 AutoNumberPrefix: type: - string - 'null' Precision: type: integer format: int32 Scale: type: integer format: int32 Expression: type: - string - 'null' ExpressionDependency: type: - array - 'null' items: type: string AliasExpressionDependency: type: - array - 'null' items: type: string IsPreComputed: type: - boolean - 'null' ReferenceObject: type: - string - 'null' TargetObject: type: - string - 'null' TargetField: type: - string - 'null' RollupFunction: type: - string - 'null' RollupFilterCriteria: type: - string - 'null' AliasFieldDefinition: type: - string - 'null' AliasFieldMetadataName: type: - string - 'null' IsRichTextField: type: boolean IsPropertyLookup: type: - boolean - 'null' IdentifierType: $ref: '#/components/schemas/IdentifierType' additionalProperties: false DataType: enum: - String - Int - Double - Currency - Boolean - DateTime - AutoNumber - Lookup - Picklist - MultiPicklist - Identifier - LongString - Complex - ComplexArray - Reference - Rollup - Decimal - Image - Alias - Date - Owner type: string IdentifierType: enum: - UUIDv4 - UID18 type: string ErrorDetail: type: object properties: Message: type: - string - 'null' additionalProperties: false FieldMetadataCreateRequest: type: object properties: FieldName: type: - string - 'null' description: Name of the field. You can enter up to 58 characters. DisplayName: type: - string - 'null' description: Display name of the field Description: type: - string - 'null' description: Description of the field DataType: $ref: '#/components/schemas/DataType' DefaultValue: type: - string - 'null' description: Default value of the field IsRequired: type: boolean description: Indicates if the field is required. IsSortable: type: boolean description: Indicates if the field is sortable. IsUnique: type: boolean description: Indicates if the field is unique. IsIndexField: type: boolean description: Indicates if the field is indexed. LookupObjectName: type: - string - 'null' description: Lookup object name of the field LookupFilterCriteria: type: - string - 'null' description: Lookup filter criteria for UI PicklistName: type: - string - 'null' description: Picklist name of the field DependentPicklistMetadataName: type: - string - 'null' description: Dependent picklist metadata name of the field ComplexMetadataName: type: - string - 'null' description: Complex metadata name of the field AutoNumberInitialSeed: type: integer description: AutoNumber initial seed value of the field format: int32 AutoNumberPrefix: type: - string - 'null' description: AutoNumber initial seed prefix of the field Precision: type: integer description: Precision of the field when the data type is Currency, Decimal, or Double. format: int32 Scale: type: integer description: Scale of the field when the data type is Currency, Decimal, or Double. format: int32 IsCalculated: type: boolean description: Indicates if the field is calculated. Expression: type: - string - 'null' description: Describes the expression of the formula field IsPreComputed: type: - boolean - 'null' description: Indicates if Formula expression is pre-computed or not Length: type: - integer - 'null' description: Length of the field when the data type is String or LongString. format: int32 ReferenceObject: type: - string - 'null' description: Reference object of the field TargetObject: type: - string - 'null' description: Target object of the field TargetField: type: - string - 'null' description: Target field of the field RollupFunction: type: - string - 'null' description: Rollup function of the field RollupFilterCriteria: type: - string - 'null' description: Rollup filter criteria of the field IsRichTextField: type: boolean description: Indicates if the field is RichText. IdentifierType: $ref: '#/components/schemas/IdentifierType' AliasFieldDefinition: type: - string - 'null' description: Definition of the alias field additionalProperties: false HttpStatusCode: enum: - Continue - SwitchingProtocols - Processing - EarlyHints - OK - Created - Accepted - NonAuthoritativeInformation - NoContent - ResetContent - PartialContent - MultiStatus - AlreadyReported - IMUsed - MultipleChoices - MovedPermanently - Found - SeeOther - NotModified - UseProxy - Unused - TemporaryRedirect - PermanentRedirect - BadRequest - Unauthorized - PaymentRequired - Forbidden - NotFound - MethodNotAllowed - NotAcceptable - ProxyAuthenticationRequired - RequestTimeout - Conflict - Gone - LengthRequired - PreconditionFailed - RequestEntityTooLarge - RequestUriTooLong - UnsupportedMediaType - RequestedRangeNotSatisfiable - ExpectationFailed - MisdirectedRequest - UnprocessableEntity - Locked - FailedDependency - UpgradeRequired - PreconditionRequired - TooManyRequests - RequestHeaderFieldsTooLarge - UnavailableForLegalReasons - InternalServerError - NotImplemented - BadGateway - ServiceUnavailable - GatewayTimeout - HttpVersionNotSupported - VariantAlsoNegotiates - InsufficientStorage - LoopDetected - NotExtended - NetworkAuthenticationRequired type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT