/\ ATFGraph /docs
README Downloads
HTTP API & schemas / ATFGraph
Framework reference

This article is retained from the existing framework docs. Self-hosting commands and server-admin access differ from the managed CLI workflow. Start with Get started for the installed product.

Emitters API

Configure schedules and inbound events that start work; inspect and replay deliveries.

Operations

OperationMethodPath
syncEmittersPOST/api/v2/agents/{label}/emitters
listEmittersGET/api/v2/emitters
createEmitterPOST/api/v2/emitters
emitterMetricsGET/api/v2/emitters/metrics
getEmitterGET/api/v2/emitters/{id}
updateEmitterPATCH/api/v2/emitters/{id}
deleteEmitterDELETE/api/v2/emitters/{id}
emitterEventsGET/api/v2/emitters/{id}/events
fireEmitterPOST/api/v2/emitters/{id}/fire
replayEmitterEventPOST/api/v2/emitters/{id}/replay

syncEmitters

POST /api/v2/agents/{label}/emitters

Requires: admin role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.sync_emitters()

Parameters

ParameterInRequiredType
labelpathyesstring
versionquerynostring

Request body

EmitterSync (required)

{
  "bindings": [
    {
      "capability": "string",
      "source": "string"
    }
  ]
}

Responses

StatusBodyMeaning
200EmitterListSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 200

{
  "items": [
    {
      "code_origin": "string",
      "cron_expression": "string",
      "enabled": false,
      "event_types": [
        "string"
      ],
      "id": "string",
      "input": {},
      "interval_seconds": 0,
      "kind": "string",
      "last_registered_at": 0,
      "managed_by": "string",
      "name": "string",
      "next_due_at": 0,
      "orphaned": false,
      "revision": 0,
      "secret_env": "string",
      "source": "string",
      "source_config": {
        "actions": [
          {}
        ],
        "auth_mode": "string",
        "basic_username": "string",
        "event_id_path": "string",
        "event_type_header": "string",
        "event_type_path": "string",
        "header": "string",
        "idempotency_header": "string",
        "job_ids": [
          {}
        ],
        "kinds": [
          {}
        ],
        "prefix": "string",
        "scheme": "string",
        "scope": {},
        "scope_id": "string",
        "signature_header": "string",
        "signature_prefix": "string",
        "timestamp_header": "string",
        "tolerance_seconds": 0,
        "workspace_id": "string",
        "workspace_path": "string"
      },
      "sticky_paused": false,
      "target": "string",
      "timezone": "string",
      "version": "string"
    }
  ]
}

listEmitters

GET /api/v2/emitters

Requires: invoke role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.list_emitters()

Responses

StatusBodyMeaning
200EmitterListSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 200

{
  "items": [
    {
      "code_origin": "string",
      "cron_expression": "string",
      "enabled": false,
      "event_types": [
        "string"
      ],
      "id": "string",
      "input": {},
      "interval_seconds": 0,
      "kind": "string",
      "last_registered_at": 0,
      "managed_by": "string",
      "name": "string",
      "next_due_at": 0,
      "orphaned": false,
      "revision": 0,
      "secret_env": "string",
      "source": "string",
      "source_config": {
        "actions": [
          {}
        ],
        "auth_mode": "string",
        "basic_username": "string",
        "event_id_path": "string",
        "event_type_header": "string",
        "event_type_path": "string",
        "header": "string",
        "idempotency_header": "string",
        "job_ids": [
          {}
        ],
        "kinds": [
          {}
        ],
        "prefix": "string",
        "scheme": "string",
        "scope": {},
        "scope_id": "string",
        "signature_header": "string",
        "signature_prefix": "string",
        "timestamp_header": "string",
        "tolerance_seconds": 0,
        "workspace_id": "string",
        "workspace_path": "string"
      },
      "sticky_paused": false,
      "target": "string",
      "timezone": "string",
      "version": "string"
    }
  ]
}

createEmitter

POST /api/v2/emitters

Requires: admin role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.create_emitter()

Request body

EmitterCreate (required)

{
  "kind": "string",
  "name": "string",
  "target": "string"
}

Responses

StatusBodyMeaning
201EmitterSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 201

{
  "code_origin": "string",
  "cron_expression": "string",
  "enabled": false,
  "event_types": [
    "string"
  ],
  "id": "string",
  "input": {},
  "interval_seconds": 0,
  "kind": "string",
  "last_registered_at": 0,
  "managed_by": "string",
  "name": "string",
  "next_due_at": 0,
  "orphaned": false,
  "revision": 0,
  "secret_env": "string",
  "source": "string",
  "source_config": {
    "actions": [
      "set"
    ],
    "auth_mode": "string",
    "basic_username": "string",
    "event_id_path": "string",
    "event_type_header": "string",
    "event_type_path": "string",
    "header": "string",
    "idempotency_header": "string",
    "job_ids": [
      {}
    ],
    "kinds": [
      "value"
    ],
    "prefix": "string",
    "scheme": "string",
    "scope": "session",
    "scope_id": "string",
    "signature_header": "string",
    "signature_prefix": "string",
    "timestamp_header": "string",
    "tolerance_seconds": 0,
    "workspace_id": "string",
    "workspace_path": "string"
  },
  "sticky_paused": false,
  "target": "string",
  "timezone": "string",
  "version": "string"
}

emitterMetrics

GET /api/v2/emitters/metrics

Requires: invoke role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.emitter_metrics()

Responses

StatusBodyMeaning
200EmitterMetricsSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 200

{
  "dlq_depth": 0,
  "enabled_emitters": 0,
  "events_24h": {
    "key": 0
  },
  "memory_dispatch_failures": 0,
  "orphaned_emitters": 0,
  "total_emitters": 0
}

getEmitter

GET /api/v2/emitters/{id}

Requires: invoke role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.get_emitter()

Parameters

ParameterInRequiredType
idpathyesstring

Responses

StatusBodyMeaning
200EmitterSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 200

{
  "code_origin": "string",
  "cron_expression": "string",
  "enabled": false,
  "event_types": [
    "string"
  ],
  "id": "string",
  "input": {},
  "interval_seconds": 0,
  "kind": "string",
  "last_registered_at": 0,
  "managed_by": "string",
  "name": "string",
  "next_due_at": 0,
  "orphaned": false,
  "revision": 0,
  "secret_env": "string",
  "source": "string",
  "source_config": {
    "actions": [
      "set"
    ],
    "auth_mode": "string",
    "basic_username": "string",
    "event_id_path": "string",
    "event_type_header": "string",
    "event_type_path": "string",
    "header": "string",
    "idempotency_header": "string",
    "job_ids": [
      {}
    ],
    "kinds": [
      "value"
    ],
    "prefix": "string",
    "scheme": "string",
    "scope": "session",
    "scope_id": "string",
    "signature_header": "string",
    "signature_prefix": "string",
    "timestamp_header": "string",
    "tolerance_seconds": 0,
    "workspace_id": "string",
    "workspace_path": "string"
  },
  "sticky_paused": false,
  "target": "string",
  "timezone": "string",
  "version": "string"
}

updateEmitter

PATCH /api/v2/emitters/{id}

Requires: admin role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.update_emitter()

Parameters

ParameterInRequiredType
idpathyesstring

Request body

EmitterUpdate (required)

{
  "expected_revision": 0
}

Responses

StatusBodyMeaning
200EmitterSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 200

{
  "code_origin": "string",
  "cron_expression": "string",
  "enabled": false,
  "event_types": [
    "string"
  ],
  "id": "string",
  "input": {},
  "interval_seconds": 0,
  "kind": "string",
  "last_registered_at": 0,
  "managed_by": "string",
  "name": "string",
  "next_due_at": 0,
  "orphaned": false,
  "revision": 0,
  "secret_env": "string",
  "source": "string",
  "source_config": {
    "actions": [
      "set"
    ],
    "auth_mode": "string",
    "basic_username": "string",
    "event_id_path": "string",
    "event_type_header": "string",
    "event_type_path": "string",
    "header": "string",
    "idempotency_header": "string",
    "job_ids": [
      {}
    ],
    "kinds": [
      "value"
    ],
    "prefix": "string",
    "scheme": "string",
    "scope": "session",
    "scope_id": "string",
    "signature_header": "string",
    "signature_prefix": "string",
    "timestamp_header": "string",
    "tolerance_seconds": 0,
    "workspace_id": "string",
    "workspace_path": "string"
  },
  "sticky_paused": false,
  "target": "string",
  "timezone": "string",
  "version": "string"
}

deleteEmitter

DELETE /api/v2/emitters/{id}

Requires: admin role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.delete_emitter()

Parameters

ParameterInRequiredType
idpathyesstring

Responses

StatusBodyMeaning
200DeletedSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 200

{
  "deleted": false
}

emitterEvents

GET /api/v2/emitters/{id}/events

Requires: invoke role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.emitter_events()

Parameters

ParameterInRequiredType
idpathyesstring

Responses

StatusBodyMeaning
200InboundEventListSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 200

{
  "items": [
    {
      "created_at": 0,
      "delivery_key": "string",
      "emitter_id": "string",
      "error": {},
      "event_type": "string",
      "id": "string",
      "input": {},
      "raw_payload": {},
      "replay_of": "string",
      "status": "string",
      "traverser_id": "string"
    }
  ]
}

fireEmitter

POST /api/v2/emitters/{id}/fire

Requires: invoke role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.fire_emitter()

Parameters

ParameterInRequiredType
idpathyesstring

Request body

EmitterFire (required)

{
  "delivery_key": "string"
}

Responses

StatusBodyMeaning
202AdmissionSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 202

{
  "id": "string",
  "root_id": "string",
  "status": "queued",
  "step_id": "string"
}

replayEmitterEvent

POST /api/v2/emitters/{id}/replay

Requires: admin role

Generated Python client internals: atfgraph._generated.api.emitters_api.EmittersApi.replay_emitter_event()

Parameters

ParameterInRequiredType
idpathyesstring

Request body

EmitterReplay (required)

{
  "event_id": "string"
}

Responses

StatusBodyMeaning
202InboundEventSuccessful operation
400ErrorResponseStructured API error
401ErrorResponseMissing or invalid credentials
403ErrorResponseRole or ownership denied
404ErrorResponseResource unavailable to this identity
409ErrorResponseRevision, idempotency, immutable version or lease conflict
413ErrorResponseStructured API error
422ErrorResponseCapability input/output schema violation
429ErrorResponseCapacity exceeded
500ErrorResponseStructured API error
503ErrorResponseStructured API error

Example response 202

{
  "created_at": 0,
  "delivery_key": "string",
  "emitter_id": "string",
  "error": {},
  "event_type": "string",
  "id": "string",
  "input": {},
  "raw_payload": {},
  "replay_of": "string",
  "status": "string",
  "traverser_id": "string"
}
ATFGraph documentationHosted workflow · Framework reference