openapi: 3.1.0 info: title: API Reference subpackage_accounts subpackage_mapping API version: 1.0.0 servers: - url: https://api.x.flatfile.com/v1 tags: - name: subpackage_mapping paths: /mapping: post: operationId: create-mapping-program summary: Create a mapping between two schemas description: Creates a list of mapping rules based on two provided schemas tags: - subpackage_mapping parameters: - name: environmentId in: query description: The ID of the environment required: false schema: $ref: '#/components/schemas/type_commons:EnvironmentId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:ProgramResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_mapping:ProgramConfig' delete: operationId: delete-all-history-for-user summary: Delete all history for the authenticated user description: Deletes all history for the authenticated user tags: - subpackage_mapping parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_commons:Success' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' requestBody: content: application/json: schema: type: object properties: environmentId: $ref: '#/components/schemas/type_commons:EnvironmentId' get: operationId: list-mapping-programs summary: List mapping programs description: List all mapping programs tags: - subpackage_mapping parameters: - name: pageSize in: query description: Number of programs to return in a page (default 10) required: false schema: type: integer - name: pageNumber in: query description: Based on pageSize, which page of records to return required: false schema: type: integer - name: createdBy in: query description: Filter by creator required: false schema: $ref: '#/components/schemas/type_commons:UserId' - name: createdAfter in: query description: Filter by creation time required: false schema: type: string format: date-time - name: createdBefore in: query description: Filter by creation time required: false schema: type: string format: date-time - name: environmentId in: query description: The ID of the environment required: false schema: $ref: '#/components/schemas/type_commons:EnvironmentId' - name: jobId in: query description: A job ID to find mapping programs for required: false schema: $ref: '#/components/schemas/type_commons:JobId' - name: familyId in: query description: Filter by family required: false schema: $ref: '#/components/schemas/type_commons:FamilyId' - name: namespace in: query description: Filter by namespace required: false schema: type: string - name: sourceKeys in: query description: Filter by source keys required: false schema: type: string - name: destinationKeys in: query description: Filter by destination keys required: false schema: type: string - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:ProgramsResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' /mapping/{programId}: get: operationId: get-mapping-program summary: Get a mapping program description: Get a mapping program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:ProgramResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' patch: operationId: update-mapping-program summary: Update a mapping program description: Updates a mapping program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:ProgramResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_mapping:ProgramConfig' delete: operationId: delete-mapping-program summary: Delete a mapping program description: Deletes a mapping program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_commons:Success' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' /mapping/{programId}/rules: post: operationId: create-rules summary: Add mapping rules to a program description: Add mapping rules to a program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:MappingRulesResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_mapping:CreateMappingRulesRequest' delete: operationId: delete-multiple-rules summary: Delete multiple mapping rules description: Deletes multiple mapping rules from a program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_commons:Success' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' requestBody: content: application/json: schema: type: object properties: ruleIds: type: array items: $ref: '#/components/schemas/type_commons:MappingId' description: Array of rule IDs to be deleted required: - ruleIds get: operationId: list-rules summary: List mapping rules description: List all mapping rules in a program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:MappingRulesResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' patch: operationId: update-rules summary: Update a list of mapping rules description: Updates a list of mapping rules in a program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:MappingRulesResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_mapping:UpdateMappingRulesRequest' /mapping/{programId}/rules/{mappingId}: get: operationId: get-rule summary: Get a mapping rule description: Get a mapping rule from a program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: mappingId in: path description: ID of mapping rule required: true schema: $ref: '#/components/schemas/type_commons:MappingId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:MappingRuleResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' patch: operationId: update-rule summary: Update a mapping rule description: Updates a mapping rule in a program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: mappingId in: path description: ID of mapping rule required: true schema: $ref: '#/components/schemas/type_commons:MappingId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_mapping:MappingRuleResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' requestBody: content: application/json: schema: $ref: '#/components/schemas/type_mapping:MappingRuleConfig' delete: operationId: delete-rule summary: Delete a mapping rule description: Deletes a mapping rule from a program tags: - subpackage_mapping parameters: - name: programId in: path description: ID of the program required: true schema: $ref: '#/components/schemas/type_commons:ProgramId' - name: mappingId in: path description: ID of mapping rule required: true schema: $ref: '#/components/schemas/type_commons:MappingId' - name: Authorization in: header description: Bearer authentication required: true schema: type: string - name: X-Disable-Hooks in: header required: true schema: type: string enum: - 'true' responses: '200': description: Response with status 200 content: application/json: schema: $ref: '#/components/schemas/type_commons:Success' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' '404': description: Error response with status 404 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' components: schemas: type_commons:ActorId: type: string description: Actor ID title: ActorId type_commons:Success: type: object properties: data: $ref: '#/components/schemas/type_commons:SuccessData' description: Informs whether or not a request was successful title: Success type_mapping:ProgramResponse: type: object properties: data: $ref: '#/components/schemas/type_mapping:Program' required: - data title: ProgramResponse type_sheets:SheetConfig: type: object properties: name: type: string description: The name of your Sheet as it will appear to your end users. description: type: string description: A sentence or two describing the purpose of your Sheet. slug: type: string description: A unique identifier for your Sheet. readonly: type: boolean description: A boolean specifying whether or not this sheet is read only. Read only sheets are not editable by end users. allowAdditionalFields: type: boolean description: Allow end users to add fields during mapping. mappingConfidenceThreshold: type: number format: double description: The minimum confidence required to automatically map a field access: type: array items: $ref: '#/components/schemas/type_sheets:SheetAccess' description: Control Sheet-level access for all users. fields: type: array items: $ref: '#/components/schemas/type_property:Property' description: Where you define your Sheet's data schema. actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Sheet. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json constraints: type: array items: $ref: '#/components/schemas/type_sheets:SheetConstraint' description: An array of constraints that end users can perform on this Sheet. treatments: type: array items: $ref: '#/components/schemas/type_sheets:SheetTreatments' description: An array of treatments that define the behavior of the sheet. collection: type: string description: Collection in which to group the sheet required: - name - fields description: Describes shape of data as well as behavior title: SheetConfig type_mapping:ProgramSummary: type: object properties: totalRuleCount: type: integer description: Total number of mapping rules addedRuleCount: type: integer description: Number of mapping rules added deletedRuleCount: type: integer description: Number of mapping rules deleted required: - totalRuleCount - addedRuleCount - deletedRuleCount title: ProgramSummary type_property:FieldAppearance: type: object properties: size: $ref: '#/components/schemas/type_property:FieldSize' description: Control the appearance of this field when it's displayed in a table or input title: FieldAppearance type_property:EnumPropertyOption: type: object properties: label: type: string description: A visual label for this option description: type: string description: A short description for this option color: type: string description: An optional color to assign this option icon: type: string description: A reference pointer to a previously registered icon meta: type: object additionalProperties: description: Any type description: An arbitrary JSON object to be associated with this option and made available to hooks value: description: The value or ID of this option. This value will be sent in egress. The type is a string | integer | boolean. alternativeNames: type: array items: type: string description: Alternative names to match this enum option to ordinal: type: integer description: The order of this option in the list. SortBy must be set to `ordinal` to use this. required: - value title: EnumPropertyOption type_commons:Guide: type: object properties: content: type: string description: Markdown guidance for this action required: - content title: Guide type_property:FieldSize: type: string enum: - xs - s - m - l - xl description: The default visual sizing. This sizing may be overridden by a user title: FieldSize type_records:ValidationType: type: string enum: - error - warn - info title: ValidationType type_commons:InputConstraintType: type: string enum: - required title: InputConstraintType type_property:NumberConfig: type: object properties: decimalPlaces: type: integer description: Number of decimal places to round data to title: NumberConfig type_property:RequiredConstraintConfig: type: object properties: message: type: string description: Custom validation message to display when the constraint fails level: $ref: '#/components/schemas/type_records:ValidationType' description: Validation level (error, warn, info). Defaults to error. title: RequiredConstraintConfig type_commons:ActionMode: type: string enum: - foreground - background - toolbarBlocking description: Foreground actions will prevent interacting with the resource until complete title: ActionMode type_sheets:SheetConstraint: oneOf: - type: object properties: type: type: string enum: - unique description: 'Discriminator value: unique' name: type: string description: The name of the constraint fields: type: array items: type: string description: The fields that must be unique together requiredFields: type: array items: type: string description: Fields that, when empty, will cause this unique constraint to be ignored strategy: $ref: '#/components/schemas/type_sheets:CompositeUniqueConstraintStrategy' config: $ref: '#/components/schemas/type_sheets:CompositeUniqueConstraintConfig' description: Configuration options for the composite unique constraint required: - type - name - fields - strategy - type: object properties: type: type: string enum: - external description: 'Discriminator value: external' validator: type: string fields: type: array items: type: string description: The fields that must be unique together config: description: Any type required: - type - validator discriminator: propertyName: type title: SheetConstraint type_commons:ActionSchedule: type: string enum: - weekly - daily - hourly title: ActionSchedule type_mapping:ProgramsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/type_mapping:Program' required: - data title: ProgramsResponse type_commons:ActionMessageType: type: string enum: - error - info title: ActionMessageType type_property:ReferenceFilter: type: object properties: refField: type: string description: The field key of the reference sheet to filter with recordField: type: string description: The field key of the record used to filter the reference field required: - refField - recordField description: If provided, the reference filter will narrow the set of records in the reference sheet used as the set of valid values for the record. Only rows where the value in the reference sheet's refField matches the value in this record's recordField will be used. title: ReferenceFilter type_sheets:SheetAccess: type: string enum: - '*' - add - edit - delete - import title: SheetAccess type_commons:ActionId: type: string description: Action ID title: ActionId type_property:StringConfigOptions: type: string enum: - tiny - normal - medium - long description: How much text should be storeable in this field title: StringConfigOptions type_property:UniqueConstraintConfig: type: object properties: caseSensitive: type: boolean description: Ignore casing when determining uniqueness ignoreEmpty: type: boolean description: Do not flag empty values as duplicate message: type: string description: Custom validation message to display when the constraint fails level: $ref: '#/components/schemas/type_records:ValidationType' description: Validation level (error, warn, info). Defaults to error. title: UniqueConstraintConfig type_sheets:CompositeUniqueConstraintStrategy: type: string enum: - hash - concat title: CompositeUniqueConstraintStrategy type_commons:InputConstraint: type: object properties: type: $ref: '#/components/schemas/type_commons:InputConstraintType' required: - type title: InputConstraint type_commons:ActionMessage: type: object properties: type: $ref: '#/components/schemas/type_commons:ActionMessageType' content: type: string required: - type - content title: ActionMessage type_commons:EnvironmentId: type: string description: Environment ID title: EnvironmentId type_commons:InputForm: type: object properties: type: $ref: '#/components/schemas/type_commons:InputFormType' fields: type: array items: $ref: '#/components/schemas/type_commons:InputField' required: - type - fields title: InputForm type_commons:Error: type: object properties: key: type: string message: type: string required: - message title: Error type_property:StringConfig: type: object properties: size: $ref: '#/components/schemas/type_property:StringConfigOptions' required: - size title: StringConfig type_commons:InputField: type: object properties: key: type: string description: Unique key for a Field. label: type: string description: Visible name of a Field. description: type: string description: Brief description below the name of the Field. type: type: string description: Field Types inform the user interface how to sort and display data. defaultValue: description: Default value for a Field. config: $ref: '#/components/schemas/type_commons:InputConfig' description: Additional configuration for enum Fields. constraints: type: array items: $ref: '#/components/schemas/type_commons:InputConstraint' description: Indicate additional validations that will be applied to the Field. required: - key - label - type title: InputField type_mapping:MappingRule: type: object properties: name: type: string description: Name of the mapping rule type: type: string config: description: Any type acceptedAt: type: string format: date-time description: Time the mapping rule was last updated acceptedBy: $ref: '#/components/schemas/type_commons:ActorId' description: User ID of the contributor of the mapping rule metadata: description: Metadata of the mapping rule id: $ref: '#/components/schemas/type_commons:MappingId' description: ID of the mapping rule confidence: type: integer description: Confidence of the mapping rule createdBy: $ref: '#/components/schemas/type_commons:UserId' description: User ID of the user who suggested the mapping rule createdAt: type: string format: date-time description: Time the mapping rule was created updatedAt: type: string format: date-time description: Time the mapping rule was last updated deletedAt: type: string format: date-time description: Time the mapping rule was deleted required: - name - type - id - createdAt - updatedAt title: MappingRule type_commons:SuccessData: type: object properties: success: type: boolean required: - success title: SuccessData type_commons:ActionConstraint: oneOf: - type: object properties: type: type: string enum: - hasAllValid description: 'Discriminator value: hasAllValid' ignoreSelection: type: boolean required: - type - type: object properties: type: type: string enum: - hasSelection description: 'Discriminator value: hasSelection' required: - type - type: object properties: type: type: string enum: - hasData description: 'Discriminator value: hasData' required: - type - type: object properties: type: type: string enum: - hasColumnEnabled description: 'Discriminator value: hasColumnEnabled' required: - type discriminator: propertyName: type title: ActionConstraint type_commons:ActionMount: oneOf: - type: object properties: type: type: string enum: - sheet description: 'Discriminator value: sheet' slugs: type: array items: type: string required: - type - type: object properties: type: type: string enum: - workbook description: 'Discriminator value: workbook' slugs: type: array items: type: string required: - type - type: object properties: type: type: string enum: - field description: 'Discriminator value: field' keys: type: array items: type: string required: - type - type: object properties: type: type: string enum: - document description: 'Discriminator value: document' required: - type - type: object properties: type: type: string enum: - file description: 'Discriminator value: file' required: - type discriminator: propertyName: type title: ActionMount type_mapping:MappingRuleConfig: type: object properties: name: type: string description: Name of the mapping rule type: type: string config: description: Any type acceptedAt: type: string format: date-time description: Time the mapping rule was last updated acceptedBy: $ref: '#/components/schemas/type_commons:ActorId' description: User ID of the contributor of the mapping rule metadata: description: Metadata of the mapping rule required: - name - type title: MappingRuleConfig type_commons:InputFormType: type: string enum: - simple title: InputFormType type_commons:InputConfig: type: object properties: options: type: array items: $ref: '#/components/schemas/type_commons:InputEnumPropertyOption' required: - options title: InputConfig type_commons:JobId: type: string description: Pipeline Job ID title: JobId type_mapping:Program: type: object properties: rules: type: array items: $ref: '#/components/schemas/type_mapping:MappingRuleOrConfig' description: Mapping rules id: type: string description: If this program was saved, this is the ID of the program namespace: type: string description: Namespace of the program familyId: $ref: '#/components/schemas/type_commons:FamilyId' description: Family ID of the program, if it belongs to a family createdAt: type: string format: date-time description: If this program was saved, this is the time it was created createdBy: $ref: '#/components/schemas/type_commons:UserId' description: If this program was saved, this is the user ID of the creator sourceKeys: type: array items: type: string description: Source keys destinationKeys: type: array items: type: string description: Destination keys summary: $ref: '#/components/schemas/type_mapping:ProgramSummary' description: Summary of the mapping rules accessToken: type: string description: If this program was saved, this token allows you to modify the program acceptedAt: type: string format: date-time description: If this program was accepted, this is the time it was accepted acceptedBy: $ref: '#/components/schemas/type_commons:ActorId' description: If this program was accepted, this is the user ID of the user who accepted it required: - rules - sourceKeys - destinationKeys title: Program type_mapping:ProgramConfig: type: object properties: source: $ref: '#/components/schemas/type_sheets:SheetConfig' description: Source schema destination: $ref: '#/components/schemas/type_sheets:SheetConfig' description: Destination schema familyId: $ref: '#/components/schemas/type_commons:FamilyId' description: ID of the family to add the program to namespace: type: string description: Namespace of the program save: type: boolean description: Whether to save the program for editing later. Defaults to false. If true, the response will contain an ID and access token. rules: type: array items: $ref: '#/components/schemas/type_mapping:MappingRuleConfig' description: Mapping rules to use for the program. If present, the program will be created with these rules. required: - source - destination title: ProgramConfig type_commons:InputEnumPropertyOption: type: object properties: label: type: string description: A visual label for this option, defaults to value if not provided description: type: string description: A short description for this option color: type: string description: An optional color to assign this option icon: type: string description: A reference pointer to a previously registered icon meta: type: object additionalProperties: description: Any type description: An arbitrary JSON object to be associated with this option and made available to hooks value: description: The value or ID of this option. This value will be sent in egress. The type is a string | integer | boolean. required: - value title: InputEnumPropertyOption type_property:EnumPropertyConfig: type: object properties: allowCustom: type: boolean description: Permit the user to create new options for this specific field. options: type: array items: $ref: '#/components/schemas/type_property:EnumPropertyOption' sortBy: $ref: '#/components/schemas/type_property:EnumPropertySortBy' description: Sort the options by the value of this property. Defaults to `label`. required: - options title: EnumPropertyConfig type_commons:Errors: type: object properties: errors: type: array items: $ref: '#/components/schemas/type_commons:Error' required: - errors title: Errors type_property:BooleanPropertyConfig: type: object properties: allowIndeterminate: type: boolean description: Allow a neither true or false state to be stored as `null` required: - allowIndeterminate title: BooleanPropertyConfig type_sheets:SheetTreatments: type: string enum: - CLIPPED_FROM_SHEET - ENUM_REFERENCE title: SheetTreatments type_commons:Action: type: object properties: slug: type: string description: '**This is deprecated. Use `operation` instead.**' operation: type: string description: This will become the job operation that is triggered mode: $ref: '#/components/schemas/type_commons:ActionMode' description: Foreground and toolbarBlocking action mode will prevent interacting with the resource until complete tooltip: type: string description: A tooltip that appears when hovering the action button messages: type: array items: $ref: '#/components/schemas/type_commons:ActionMessage' type: type: string description: '**This is deprecated.**' description: type: string description: The text that appears in the dialog after the action is clicked. schedule: $ref: '#/components/schemas/type_commons:ActionSchedule' description: Determines if the action should happen on a regular cadence. primary: type: boolean description: A primary action will be more visibly present, whether in Sheet or Workbook. confirm: type: boolean description: Whether to show a modal to confirm the action icon: type: string description: Icon will work on primary actions. It will only accept an already existing Flatfile design system icon. requireAllValid: type: boolean description: '**This is deprecated. Use `constraints` instead.**' requireSelection: type: boolean description: '**This is deprecated. Use `constraints` instead.**' inputForm: $ref: '#/components/schemas/type_commons:InputForm' description: Adds an input form for this action after it is clicked. constraints: type: array items: $ref: '#/components/schemas/type_commons:ActionConstraint' description: A limitation or restriction on the action. mount: $ref: '#/components/schemas/type_commons:ActionMount' guide: $ref: '#/components/schemas/type_commons:Guide' guardrail: $ref: '#/components/schemas/type_commons:Guardrail' createdFrom: $ref: '#/components/schemas/type_commons:ActionId' description: The action that this action was cloned from lastPropagatedAt: type: string format: date-time description: The last time this action was propagated to a workbook deletedAt: type: string format: date-time description: The time this action was deleted invalidConditionalMessaging: type: boolean description: When enabled, shows dynamic confirmation messages based on record validation status instead of the static description validRecordsMessage: type: string description: Custom message to show when all records are valid (only used when invalidConditionalMessaging is true) invalidRecordsMessage: type: string description: Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true) label: type: string description: The text on the Button itself required: - label title: Action type_commons:FamilyId: type: string description: Mapping Family ID title: FamilyId type_mapping:MappingRuleOrConfig: type: object properties: name: type: string description: Name of the mapping rule type: type: string config: description: Any type acceptedAt: type: string format: date-time description: Time the mapping rule was last updated acceptedBy: $ref: '#/components/schemas/type_commons:ActorId' description: User ID of the contributor of the mapping rule metadata: description: Metadata of the mapping rule id: $ref: '#/components/schemas/type_commons:MappingId' description: ID of the mapping rule confidence: type: integer description: Confidence of the mapping rule createdBy: $ref: '#/components/schemas/type_commons:UserId' description: User ID of the creator of the mapping rule createdAt: type: string format: date-time description: Time the mapping rule was created updatedAt: type: string format: date-time description: Time the mapping rule was last updated deletedAt: type: string format: date-time description: Time the mapping rule was deleted required: - name - type title: MappingRuleOrConfig type_property:ReferencePropertyConfig: type: object properties: ref: type: string description: Full path reference to a sheet configuration. Must be in the same workbook. key: type: string description: Key of the property to use as the reference key. Defaults to `id` filter: $ref: '#/components/schemas/type_property:ReferenceFilter' description: Optional filter to narrow the set of records in the reference sheet used as valid values relationship: $ref: '#/components/schemas/type_property:ReferencePropertyRelationship' description: The type of relationship this defines required: - ref - key title: ReferencePropertyConfig type_sheets:CompositeUniqueConstraintConfig: type: object properties: message: type: string description: Custom validation message to display when the constraint fails level: $ref: '#/components/schemas/type_records:ValidationType' description: Validation level (error, warn, info). Defaults to error. title: CompositeUniqueConstraintConfig type_property:ReferencePropertyRelationship: type: string enum: - has-one - has-many title: ReferencePropertyRelationship type_mapping:CreateMappingRulesRequest: type: array items: $ref: '#/components/schemas/type_mapping:MappingRuleConfig' title: CreateMappingRulesRequest type_mapping:MappingRuleResponse: type: object properties: data: $ref: '#/components/schemas/type_mapping:MappingRule' required: - data title: MappingRuleResponse type_commons:Guardrail: type: object properties: content: type: string description: Markdown guardrail for this action required: - content title: Guardrail type_commons:UserId: type: string description: User ID title: UserId type_mapping:UpdateMappingRulesRequest: type: array items: $ref: '#/components/schemas/type_mapping:MappingRule' title: UpdateMappingRulesRequest type_mapping:MappingRulesResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/type_mapping:MappingRule' required: - data title: MappingRulesResponse type_property:Constraint: oneOf: - type: object properties: type: type: string enum: - required description: 'Discriminator value: required' config: $ref: '#/components/schemas/type_property:RequiredConstraintConfig' required: - type - type: object properties: type: type: string enum: - unique description: 'Discriminator value: unique' config: $ref: '#/components/schemas/type_property:UniqueConstraintConfig' required: - type - type: object properties: type: type: string enum: - computed description: 'Discriminator value: computed' required: - type - type: object properties: type: type: string enum: - external description: 'Discriminator value: external' validator: type: string description: type: string description: A full description of what this constraint configuration does label: type: string description: A short description of what this constraint constraint should do, example - values between 1 and 100 config: description: Any type required: - type - validator - type: object properties: type: type: string enum: - stored description: 'Discriminator value: stored' validator: type: string description: Must match the constraint validator name. version: type: integer description: The version of the stored constraint to use. (Defaults to version 1.) description: type: string description: A full description of what this constraint configuration does label: type: string description: A short description of what this constraint constraint should do, example - values between 1 and 100 config: description: Any type required: - type - validator discriminator: propertyName: type title: Constraint type_property:Property: oneOf: - type: object properties: type: type: string enum: - string description: 'Discriminator value: string' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string config: $ref: '#/components/schemas/type_property:StringConfig' required: - type - key - type: object properties: type: type: string enum: - number description: 'Discriminator value: number' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string isArray: type: boolean description: Will allow multiple values and store as an array. Use enum-list type instead. config: $ref: '#/components/schemas/type_property:NumberConfig' required: - type - key - type: object properties: type: type: string enum: - boolean description: 'Discriminator value: boolean' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string config: $ref: '#/components/schemas/type_property:BooleanPropertyConfig' required: - type - key - type: object properties: type: type: string enum: - date description: 'Discriminator value: date' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string required: - type - key - type: object properties: type: type: string enum: - enum description: 'Discriminator value: enum' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string isArray: type: boolean description: Will allow multiple values and store as an array. Use enum-list type instead. multi: type: boolean description: Will allow multiple values and store / provide the values in an array if set. Not all field types support arrays. Use enum-list type instead. config: $ref: '#/components/schemas/type_property:EnumPropertyConfig' required: - type - key - config - type: object properties: type: type: string enum: - reference description: 'Discriminator value: reference' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string isArray: type: boolean description: Will allow multiple values and store as an array. Use enum-list type instead. config: $ref: '#/components/schemas/type_property:ReferencePropertyConfig' required: - type - key - config - type: object properties: type: type: string enum: - reference-list description: 'Discriminator value: reference-list' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string isArray: type: boolean description: Will allow multiple values and store as an array. Use enum-list type instead. config: $ref: '#/components/schemas/type_property:ReferenceListPropertyConfig' required: - type - key - config - type: object properties: type: type: string enum: - string-list description: 'Discriminator value: string-list' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string required: - type - key - type: object properties: type: type: string enum: - enum-list description: 'Discriminator value: enum-list' key: type: string label: type: string description: User friendly field name description: type: string description: A short description of the field. Markdown syntax is supported. constraints: type: array items: $ref: '#/components/schemas/type_property:Constraint' description: A list of constraints that should be applied to this field. This is limited to a maximum of 10 constraints and all external and stored constraints must have unique validator values. readonly: type: boolean appearance: $ref: '#/components/schemas/type_property:FieldAppearance' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: An array of actions that end users can perform on this Column. metadata: description: Useful for any contextual metadata regarding the schema. Store any valid json here. treatments: type: array items: type: string description: A unique presentation for a field in the UI. alternativeNames: type: array items: type: string config: $ref: '#/components/schemas/type_property:EnumPropertyConfig' required: - type - key - config discriminator: propertyName: type title: Property type_property:EnumPropertySortBy: type: string enum: - label - value - ordinal title: EnumPropertySortBy type_commons:MappingId: type: string description: Mapping Rule ID title: MappingId type_property:ReferenceListPropertyConfig: type: object properties: ref: type: string description: Full path reference to a sheet configuration. Must be in the same workbook. key: type: string description: Key of the property to use as the reference key. Defaults to `id` filter: $ref: '#/components/schemas/type_property:ReferenceFilter' description: Optional filter to narrow the set of records in the reference sheet used as valid values required: - ref - key title: ReferenceListPropertyConfig type_commons:ProgramId: type: string description: Mapping Program ID title: ProgramId securitySchemes: default: type: http scheme: bearer