openapi: 3.1.0 info: title: Modal Dicts and Queues Apps Invocations API description: 'Modal Dicts and Queues — distributed in-memory primitives for cross-container state. Dicts are key-value stores; Queues are FIFO message queues used to coordinate work across Modal functions and sandboxes. ' version: 0.1.0 contact: name: Modal Labs url: https://modal.com servers: - url: https://api.modal.com/v1 security: - ModalToken: [] tags: - name: Invocations description: Asynchronous function invocations and result retrieval. paths: /functions/{function_id}/invocations: post: tags: - Invocations summary: Invoke Function description: 'Synchronously invoke a Modal Function. The request body is the serialized argument payload; the response contains the serialized return value or an invocation error. ' operationId: invokeFunction parameters: - name: function_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InvocationRequest' responses: '200': description: Invocation completed. content: application/json: schema: $ref: '#/components/schemas/InvocationResult' get: tags: - Invocations summary: List Invocations description: List recent invocations for the given Function. operationId: listInvocations parameters: - name: function_id in: path required: true schema: type: string responses: '200': description: A page of invocations. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/InvocationResult' /functions/{function_id}/spawn: post: tags: - Invocations summary: Spawn Asynchronous Invocation description: 'Spawn an asynchronous Function call and return a FunctionCall handle. The result is fetched later via the FunctionCall ID. ' operationId: spawnFunction parameters: - name: function_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InvocationRequest' responses: '202': description: Invocation accepted. content: application/json: schema: $ref: '#/components/schemas/FunctionCall' /function-calls/{call_id}: get: tags: - Invocations summary: Get Function Call description: Retrieve the status and result of an async FunctionCall. operationId: getFunctionCall parameters: - name: call_id in: path required: true schema: type: string responses: '200': description: The FunctionCall result. content: application/json: schema: $ref: '#/components/schemas/FunctionCall' components: schemas: InvocationRequest: type: object properties: args: type: array items: {} kwargs: type: object additionalProperties: true FunctionCall: type: object properties: call_id: type: string function_id: type: string status: type: string enum: - pending - running - success - failure - terminated result: nullable: true InvocationResult: type: object properties: call_id: type: string status: type: string enum: - pending - running - success - failure - terminated result: nullable: true error: type: object nullable: true started_at: type: string format: date-time finished_at: type: string format: date-time securitySchemes: ModalToken: type: http scheme: bearer